{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "initial_id",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:47.937291Z",
     "start_time": "2025-07-04T09:27:43.812228Z"
    },
    "collapsed": true,
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "initial_id",
    "outputId": "3f0ae06e-c5fb-4d55-c31e-2f99e9436872"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/imdb.npz\n",
      "\u001B[1m17464789/17464789\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 0us/step\n",
      "训练集样本数: 25000, 测试集样本数: 25000\n",
      "标签示例: [1 0 0 1 0 0 1 0 1 0]\n",
      "一个样本的词索引序列: [1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458, 4468, 66, 3941, 4, 173, 36, 256, 5, 25, 100, 43, 838, 112, 50, 670, 2, 9, 35, 480, 284, 5, 150, 4, 172, 112, 167, 2, 336, 385, 39, 4, 172, 4536, 1111, 17, 546, 38, 13, 447, 4, 192, 50, 16, 6, 147, 2025, 19, 14, 22, 4, 1920, 4613, 469, 4, 22, 71, 87, 12, 16, 43, 530, 38, 76, 15, 13, 1247, 4, 22, 17, 515, 17, 12, 16, 626, 18, 2, 5, 62, 386, 12, 8, 316, 8, 106, 5, 4, 2223, 5244, 16]...\n",
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/imdb_word_index.json\n",
      "\u001B[1m1641221/1641221\u001B[0m \u001B[32m━━━━━━━━━━━━━━━━━━━━\u001B[0m\u001B[37m\u001B[0m \u001B[1m0s\u001B[0m 0us/step\n",
      "\n",
      "解码后的样本文本:\n",
      "[BOS] this film was just brilliant casting location scenery story direction everyone's really suited the part they played and you could just imagine being there robert [UNK] is an amazing actor and now the same being director [UNK] father came from the same scottish island as myself so i loved the fact there was a real connection with this film the witty remarks throughout the film were great it was just brilliant so much that i bought the film as soon as it was released for [UNK] and would recommend it to everyone to watch and the fly fishing was amazing really cried at the end it was so sad and you know what they say if you cry at a film it must have been good and this definitely was also [UNK] to the two little boy's that played the [UNK] of norman and paul they were just brilliant children are often left out of the [UNK] list i think because the stars that play them all grown up are such a big profile for the whole film but these children are amazing and should be praised for what they have done don't you think the whole story was so lovely because it was true and was someone's life after all that was shared with us all\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "from tensorflow.keras.datasets import imdb\n",
    "\n",
    "# 加载IMDB数据集\n",
    "# num_words=10000表示只保留最常见的10000个词，本身数据集有88582个词，如果未出现词，则用<UNK>表示\n",
    "# 参数说明：\n",
    "# - num_words: 保留的最常见词的数量\n",
    "# - skip_top: 跳过最常见的若干词（通常是停用词）\n",
    "# - maxlen: 序列最大长度\n",
    "# - index_from: 词索引的起始值，默认为3\n",
    "vocab_size=10000\n",
    "(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=vocab_size, index_from=3)\n",
    "\n",
    "print(f\"训练集样本数: {len(x_train)}, 测试集样本数: {len(x_test)}\")\n",
    "print(f\"标签示例: {y_train[:10]}\")  # 0表示负面评论，1表示正面评论\n",
    "\n",
    "# 查看一个样本的词索引序列\n",
    "print(f\"一个样本的词索引序列: {x_train[0][:100]}...\")\n",
    "\n",
    "# 获取词索引映射，返回一个字典（词典），key是单词，value是索引（token）\n",
    "word_index = imdb.get_word_index()\n",
    "\n",
    "word_index = {word: idx + 3 for word, idx in word_index.items()}  # 0,1,2,3空出来做别的事,这里的idx是从1开始的,所以加3\n",
    "word_index.update({\n",
    "    \"[PAD]\": 0,  # 填充 token\n",
    "    \"[BOS]\": 1,  # begin of sentence\n",
    "    \"[UNK]\": 2,  # 未知 token\n",
    "    \"[EOS]\": 3,  # end of sentence\n",
    "})\n",
    "# 创建索引到词的映射\n",
    "reverse_word_index = {i: word for word, i in word_index.items()}\n",
    "\n",
    "# 将一个样本的索引序列转换为文本\n",
    "def decode_review(indices):\n",
    "    return ' '.join([reverse_word_index.get(i, '?') for i in indices])\n",
    "\n",
    "print(\"\\n解码后的样本文本:\")\n",
    "print(decode_review(x_train[0]))\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7f05dccc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:47.941967Z",
     "start_time": "2025-07-04T09:27:47.937291Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 35
    },
    "id": "7f05dccc",
    "outputId": "29938760-23e0-4b06-98f2-d4bf3d856e5f"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'the'"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "string"
      }
     },
     "metadata": {},
     "execution_count": 2
    }
   ],
   "source": [
    "reverse_word_index[4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e0159de3",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:47.945223Z",
     "start_time": "2025-07-04T09:27:47.941967Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "e0159de3",
    "outputId": "972d6078-c6a1-43ea-fd2c-af854b82f479"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "metadata": {},
     "execution_count": 3
    }
   ],
   "source": [
    "word_index['the']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "8c7cfacb",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:47.949052Z",
     "start_time": "2025-07-04T09:27:47.945223Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "8c7cfacb",
    "outputId": "36c1de31-40aa-415b-9d81-6f8adbf83c51"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "[1,\n",
       " 194,\n",
       " 1153,\n",
       " 194,\n",
       " 8255,\n",
       " 78,\n",
       " 228,\n",
       " 5,\n",
       " 6,\n",
       " 1463,\n",
       " 4369,\n",
       " 5012,\n",
       " 134,\n",
       " 26,\n",
       " 4,\n",
       " 715,\n",
       " 8,\n",
       " 118,\n",
       " 1634,\n",
       " 14,\n",
       " 394,\n",
       " 20,\n",
       " 13,\n",
       " 119,\n",
       " 954,\n",
       " 189,\n",
       " 102,\n",
       " 5,\n",
       " 207,\n",
       " 110,\n",
       " 3103,\n",
       " 21,\n",
       " 14,\n",
       " 69,\n",
       " 188,\n",
       " 8,\n",
       " 30,\n",
       " 23,\n",
       " 7,\n",
       " 4,\n",
       " 249,\n",
       " 126,\n",
       " 93,\n",
       " 4,\n",
       " 114,\n",
       " 9,\n",
       " 2300,\n",
       " 1523,\n",
       " 5,\n",
       " 647,\n",
       " 4,\n",
       " 116,\n",
       " 9,\n",
       " 35,\n",
       " 8163,\n",
       " 4,\n",
       " 229,\n",
       " 9,\n",
       " 340,\n",
       " 1322,\n",
       " 4,\n",
       " 118,\n",
       " 9,\n",
       " 4,\n",
       " 130,\n",
       " 4901,\n",
       " 19,\n",
       " 4,\n",
       " 1002,\n",
       " 5,\n",
       " 89,\n",
       " 29,\n",
       " 952,\n",
       " 46,\n",
       " 37,\n",
       " 4,\n",
       " 455,\n",
       " 9,\n",
       " 45,\n",
       " 43,\n",
       " 38,\n",
       " 1543,\n",
       " 1905,\n",
       " 398,\n",
       " 4,\n",
       " 1649,\n",
       " 26,\n",
       " 6853,\n",
       " 5,\n",
       " 163,\n",
       " 11,\n",
       " 3215,\n",
       " 2,\n",
       " 4,\n",
       " 1153,\n",
       " 9,\n",
       " 194,\n",
       " 775,\n",
       " 7,\n",
       " 8255,\n",
       " 2,\n",
       " 349,\n",
       " 2637,\n",
       " 148,\n",
       " 605,\n",
       " 2,\n",
       " 8003,\n",
       " 15,\n",
       " 123,\n",
       " 125,\n",
       " 68,\n",
       " 2,\n",
       " 6853,\n",
       " 15,\n",
       " 349,\n",
       " 165,\n",
       " 4362,\n",
       " 98,\n",
       " 5,\n",
       " 4,\n",
       " 228,\n",
       " 9,\n",
       " 43,\n",
       " 2,\n",
       " 1157,\n",
       " 15,\n",
       " 299,\n",
       " 120,\n",
       " 5,\n",
       " 120,\n",
       " 174,\n",
       " 11,\n",
       " 220,\n",
       " 175,\n",
       " 136,\n",
       " 50,\n",
       " 9,\n",
       " 4373,\n",
       " 228,\n",
       " 8255,\n",
       " 5,\n",
       " 2,\n",
       " 656,\n",
       " 245,\n",
       " 2350,\n",
       " 5,\n",
       " 4,\n",
       " 9837,\n",
       " 131,\n",
       " 152,\n",
       " 491,\n",
       " 18,\n",
       " 2,\n",
       " 32,\n",
       " 7464,\n",
       " 1212,\n",
       " 14,\n",
       " 9,\n",
       " 6,\n",
       " 371,\n",
       " 78,\n",
       " 22,\n",
       " 625,\n",
       " 64,\n",
       " 1382,\n",
       " 9,\n",
       " 8,\n",
       " 168,\n",
       " 145,\n",
       " 23,\n",
       " 4,\n",
       " 1690,\n",
       " 15,\n",
       " 16,\n",
       " 4,\n",
       " 1355,\n",
       " 5,\n",
       " 28,\n",
       " 6,\n",
       " 52,\n",
       " 154,\n",
       " 462,\n",
       " 33,\n",
       " 89,\n",
       " 78,\n",
       " 285,\n",
       " 16,\n",
       " 145,\n",
       " 95]"
      ]
     },
     "metadata": {},
     "execution_count": 4
    }
   ],
   "source": [
    "x_train[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3ab8ed72",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:47.954Z",
     "start_time": "2025-07-04T09:27:47.951056Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "3ab8ed72",
    "outputId": "ea84ef84-abc9-4abd-811b-8a8e6869c738"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "验证集样本数: 10000\n",
      "测试集样本数: 15000\n",
      "验证集标签示例: [0 1 1 0 1 1 1 0 0 1]\n",
      "测试集标签示例: [1 1 0 1 0 0 1 0 1 1]\n"
     ]
    }
   ],
   "source": [
    "# 将测试集划分为验证集和测试集\n",
    "# 从原始测试集中取前10000个样本作为验证集\n",
    "x_val = x_test[:10000]\n",
    "y_val = y_test[:10000]\n",
    "\n",
    "# 剩余的15000个样本作为测试集\n",
    "x_test = x_test[10000:]\n",
    "y_test = y_test[10000:]\n",
    "\n",
    "print(f\"验证集样本数: {len(x_val)}\")\n",
    "print(f\"测试集样本数: {len(x_test)}\")\n",
    "print(f\"验证集标签示例: {y_val[:10]}\")\n",
    "print(f\"测试集标签示例: {y_test[:10]}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "272d907e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:47.957402Z",
     "start_time": "2025-07-04T09:27:47.954Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "272d907e",
    "outputId": "4999b910-e9bd-481b-e0ef-ebf34a9d833e"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "[['hello', 'world'],\n",
       " ['tokenize', 'text', 'datas', 'with', 'batch'],\n",
       " ['this', 'is', 'a', 'test']]"
      ]
     },
     "metadata": {},
     "execution_count": 6
    }
   ],
   "source": [
    "raw_text = [\"hello world\".split(), \"tokenize text datas with batch\".split(), \"this is a test\".split()]\n",
    "raw_text"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f2df0a9f",
   "metadata": {
    "id": "f2df0a9f"
   },
   "source": [
    "# 通过直方图来观察样本长度分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "881921a0",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:48.081569Z",
     "start_time": "2025-07-04T09:27:47.957402Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 564
    },
    "id": "881921a0",
    "outputId": "085caeca-86b2-4c83-f5be-ad2a8a81bbfe"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ],
      "image/png": "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Ae666y4EBAQgPj4emZmZ0vUQEVHrcLFFRERuFRgYiMDAQGzduhWXL19utp+u63jppZeQm5uLTZs2YdeuXViyZIlLn6qqKrz00kt46623sHPnTmRkZOC+++7Djh07sGPHDrz22mt49dVXXRYyALB27VrEx8cjJycHzz77LH73u98hLS2tyXHU1dUhJSUF3bp1w6effoq9e/ciMDAQqampqK2tlfo7WLVqFf75z39iw4YNyM3NxVNPPYXf/OY3+OSTT1z6/eEPf8CLL76IrKws2O12PProo+ax119/Hc8//zxWr16N7Oxs9OvXD6+88op5fPHixXjwwQeRmpqKs2fP4uzZs7jllltczr148WIcPHgQN998M6ZNm4b6+nqpeoiIqJUEERGRm7377ruie/fuws/PT9xyyy1i6dKl4quvvmrxa9555x3Ro0cP8/E//vEPAUAcP37cbPvtb38rAgICxMWLF822lJQU8dvf/tZ8HBUVJVJTU13OPWXKFDFx4kTzMQCxZcsWIYQQr732mhg4cKAwDMM8fvnyZeHv7y8++uijJsdaWFgoAIicnJxGx2pqakRAQID4/PPPXdpnzZolpk2bJoQQYvfu3QKA+Pjjj83j27dvFwBEdXW1EEKIxMREMW/ePJdz3HrrrSI+Pt58PGPGDDF58uQmx/b3v//dbMvNzRUAxNGjR5ush4iI2gevbBERkds98MADOHPmDD744AOkpqYiIyMDo0aNwsaNG80+H3/8McaPH48+ffqgW7dueOihh1BaWoqqqiqzT0BAAGJjY83HYWFh6N+/PwIDA13aSkpKXL5/UlJSo8dHjx5tcqxfffUVjh8/jm7duplX5UJCQlBTU4P8/Pw21378+HFUVVXh7rvvNs8XGBiIf/7zn43OFxcXZ/65d+/eAGDWkpeXh7Fjx7r0v/5xS1o6NxERuQc3yCAiog7h5+eHu+++G3fffTf++Mc/4rHHHsPy5cvxyCOP4MSJE/jFL36BuXPn4vnnn0dISAg+++wzzJo1C7W1tQgICAAAdOnSxeWcmqY12WYYhvQ4KysrMXr0aLz++uuNjvXq1UvqfACwfft29OnTx+WYr6+vy+Nra9E0DQB+Ui0ddW4iImoaF1tERGSJIUOGmL/bKjs7G4Zh4MUXX4SuX7np4u2332637/XFF180ejx48OAm+44aNQqbN29GaGgogoKCfvL3HjJkCHx9fXHy5Enccccd0ucZOHAg9u/fj4cffths279/v0sfHx8fl81BiIjIWlxsERGRW5WWluJf/uVf8OijjyIuLg7dunVDVlYW1qxZg8mTJwMAbrrpJtTV1eHll1/GpEmTsHfvXmzYsKHdxrB3716sWbMG9957L9LS0vDOO+9g+/btTfadPn061q5di8mTJ2PlypWIjIzEd999h/feew9LlixBZGRks9/n+t0DAWDo0KFYvHgxnnrqKRiGgdtuuw3l5eXYu3cvgoKCMGPGjFbV8OSTT2L27NlISEjALbfcgs2bN+PQoUOIiYkx+/Tv3x8fffQR8vLy0KNHDwQHB7fq3ERE5B5cbBERkVsFBgYiMTERf/nLX5Cfn4+6ujr07dsXs2fPxu9//3sAQHx8PNatW4fVq1dj6dKlGDduHFatWuVyFeenWLRoEbKysrBixQoEBQVh3bp1SElJabJvQEAA9uzZg2eeeQb3338/Ll68iD59+mD8+PE3vNI1derURm3ff/89/vSnP6FXr15YtWoVCgoK4HA4MGrUKLP+1pg+fToKCgqwePFi1NTU4MEHH8QjjzyCL7/80uwze/ZsZGRkICEhAZWVldi9ezf69+/f6u9BRETtSxNCCKsHQURE5C79+/fHggULsGDBAquH0u7uvvtuhIeH47XXXrN6KERE1ARe2SIiIlJAVVUVNmzYgJSUFNhsNrz55pv4+OOPm/19YUREZD0utoiIiBSgaRp27NiB559/HjU1NRg4cCD+53/+B8nJyVYPjYiImsHbCImIiIiIiNyAv9SYiIiIiIjIDbjYIiIiIiIicgMutoiIiIiIiNyAiy0iIiIiIiI34GKLiIiIiIjIDbjYIiIiIiIicgMutoiIiIiIiNyAiy0iIiIiIiI3+P/4xzocVv7v9AAAAABJRU5ErkJggg==\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 计算每个样本的长度\n",
    "train_lengths = [len(x) for x in x_train]\n",
    "\n",
    "# 绘制直方图\n",
    "plt.figure(figsize=(10, 6))\n",
    "plt.hist(train_lengths, bins=50, alpha=0.7, color='blue')\n",
    "plt.xlabel('Sample Length')\n",
    "plt.ylabel('Sample Count')\n",
    "plt.title('Training Set Sample Length Distribution')\n",
    "plt.grid(True, linestyle='--', alpha=0.7)\n",
    "\n",
    "# 计算一些统计信息\n",
    "max_length = max(train_lengths)\n",
    "min_length = min(train_lengths)\n",
    "avg_length = 500 #自定义了一个长度\n",
    "\n",
    "# 在图上显示统计信息\n",
    "plt.axvline(x=avg_length, color='r', linestyle='--', label=f'Average Length: {avg_length:.1f}')\n",
    "plt.text(max_length*0.7, plt.ylim()[1]*0.9, f'Max Length: {max_length}')\n",
    "plt.text(max_length*0.7, plt.ylim()[1]*0.85, f'Min Length: {min_length}')\n",
    "plt.text(max_length*0.7, plt.ylim()[1]*0.8, f'Average Length: {avg_length:.1f}')\n",
    "plt.legend()\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72202119",
   "metadata": {
    "id": "72202119"
   },
   "source": [
    "# Tokenizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "1f1980b6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:48.087537Z",
     "start_time": "2025-07-04T09:27:48.081569Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "1f1980b6",
    "outputId": "7b0fe47e-e351-4d95-d158-5f06fe82b985"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "编码后的序列:\n",
      "[[    1  4825   182     3     0     0     0]\n",
      " [    1     2  3004     2    19 19233     3]\n",
      " [    1    14     9     6  2181     3     0]]\n",
      "\n",
      "解码后的文本:\n",
      "['[BOS] hello world [EOS]', '[BOS] [UNK] text [UNK] with batch [EOS]', '[BOS] this is a test [EOS]']\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "class Tokenizer:\n",
    "    def __init__(self, word_index, reverse_word_index):\n",
    "        self.word_index = word_index\n",
    "        self.reverse_word_index = reverse_word_index\n",
    "        self.pad_token = 0  # <PAD>\n",
    "        self.start_token = 1  # <START>\n",
    "        self.unk_token = 2  # <UNK>\n",
    "        self.end_token = 3  # <END>\n",
    "\n",
    "    def encode(self, texts, maxlen=None, padding='post', truncating='post', add_start=False, add_end=False):\n",
    "        \"\"\"\n",
    "        将文本序列转换为数字序列\n",
    "\n",
    "        参数:\n",
    "        - texts: 文本列表，每个元素是一个词列表\n",
    "        - maxlen: 序列最大长度，如果为None则使用最长序列的长度\n",
    "        - padding: 'pre'或'post'，表示在序列前或后填充\n",
    "        - truncating: 'pre'或'post'，表示从序列前或后截断\n",
    "        - add_start: 是否添加开始标记\n",
    "        - add_end: 是否添加结束标记\n",
    "\n",
    "        返回:\n",
    "        - 编码后的序列\n",
    "        \"\"\"\n",
    "        result = [] #编码后的序列，存储整个batch的序列\n",
    "\n",
    "        # 计算需要的序列长度\n",
    "        batch_max_len = max([len(seq) for seq in texts]) #batch内最长序列长度\n",
    "        if add_start:\n",
    "            batch_max_len += 1\n",
    "        if add_end:\n",
    "            batch_max_len += 1\n",
    "\n",
    "        # 如果maxlen为None或者batch内最大长度小于maxlen，使用batch内最大长度\n",
    "        if maxlen is None or batch_max_len < maxlen:\n",
    "            maxlen = batch_max_len\n",
    "\n",
    "        for text in texts:\n",
    "            sequence = []\n",
    "\n",
    "            # 添加开始标记\n",
    "            if add_start:\n",
    "                sequence.append(self.start_token)\n",
    "\n",
    "            # 将词转换为索引\n",
    "            for word in text:\n",
    "                sequence.append(self.word_index.get(word, self.unk_token))\n",
    "\n",
    "            # 添加结束标记\n",
    "            if add_end:\n",
    "                sequence.append(self.end_token)\n",
    "\n",
    "            # 截断序列\n",
    "            if len(sequence) > maxlen:\n",
    "                if truncating == 'pre':\n",
    "                    sequence = sequence[-maxlen:]\n",
    "                else:  # truncating == 'post'\n",
    "                    sequence = sequence[:maxlen]\n",
    "\n",
    "            # 填充序列\n",
    "            pad_length = maxlen - len(sequence)\n",
    "            if pad_length > 0:\n",
    "                if padding == 'pre':\n",
    "                    sequence = [self.pad_token] * pad_length + sequence\n",
    "                else:  # padding == 'post'\n",
    "                    sequence = sequence + [self.pad_token] * pad_length\n",
    "\n",
    "            result.append(sequence)\n",
    "\n",
    "        return np.array(result)\n",
    "\n",
    "    def decode(self, sequences):\n",
    "        \"\"\"\n",
    "        将数字序列转换回文本\n",
    "\n",
    "        参数:\n",
    "        - sequences: 数字序列列表\n",
    "\n",
    "        返回:\n",
    "        - 解码后的文本列表\n",
    "        \"\"\"\n",
    "        result = []\n",
    "        for sequence in sequences:\n",
    "            words = []\n",
    "            for idx in sequence:\n",
    "                if idx == self.pad_token:\n",
    "                    continue  # 跳过填充标记\n",
    "                word = self.reverse_word_index.get(idx, '?')\n",
    "                # if word not in ['[PAD]', '[BOS]', '[UNK]', '[EOS]']:\n",
    "                words.append(word)\n",
    "            result.append(' '.join(words))\n",
    "        return result\n",
    "\n",
    "# 创建Tokenizer实例\n",
    "tokenizer = Tokenizer(word_index, reverse_word_index)\n",
    "\n",
    "# 测试编码\n",
    "encoded = tokenizer.encode(raw_text, maxlen=500, padding='post', add_start=True, add_end=True)\n",
    "print(\"编码后的序列:\")\n",
    "print(encoded)\n",
    "\n",
    "# 测试解码\n",
    "decoded = tokenizer.decode(encoded)\n",
    "print(\"\\n解码后的文本:\")\n",
    "print(decoded)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1f2cddf5",
   "metadata": {
    "id": "1f2cddf5"
   },
   "source": [
    "# Dataset和DataLoader"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c207da73",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:50.018224Z",
     "start_time": "2025-07-04T09:27:48.087537Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "c207da73",
    "outputId": "3d8cb9d6-88c4-44c9-fc94-162cfb857c93"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "训练集大小: 25000\n",
      "验证集大小: 10000\n",
      "测试集大小: 15000\n"
     ]
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "([\"[BOS] this film was just brilliant casting location scenery story direction everyone's really suited the part they played and you could just imagine being there robert [UNK] is an amazing actor and now the same being director [UNK] father came from the same scottish island as myself so i loved the fact there was a real connection with this film the witty remarks throughout the film were great it was just brilliant so much that i bought the film as soon as it was released for [UNK] and would recommend it to everyone to watch and the fly fishing was amazing really cried at the end it was so sad and you know what they say if you cry at a film it must have been good and this definitely was also [UNK] to the two little boy's that played the [UNK] of norman and paul they were just brilliant children are often left out of the [UNK] list i think because the stars that play them all grown up are such a big profile for the whole film but these children are amazing and should be praised for what they have done don't you think the whole story was so lovely because it was true and was someone's life after all that was shared with us all\",\n",
       "  \"[BOS] big hair big boobs bad music and a giant safety pin these are the words to best describe this terrible movie i love cheesy horror movies and i've seen hundreds but this had got to be on of the worst ever made the plot is paper thin and ridiculous the acting is an abomination the script is completely laughable the best is the end showdown with the cop and how he worked out who the killer is it's just so damn terribly written the clothes are sickening and funny in equal [UNK] the hair is big lots of boobs [UNK] men wear those cut [UNK] shirts that show off their [UNK] sickening that men actually wore them and the music is just [UNK] trash that plays over and over again in almost every scene there is trashy music boobs and [UNK] taking away bodies and the gym still doesn't close for [UNK] all joking aside this is a truly bad film whose only charm is to look back on the disaster that was the 80's and have a good old laugh at how bad everything was back then\",\n",
       "  \"[BOS] this has to be one of the worst films of the 1990s when my friends i were watching this film being the target audience it was aimed at we just sat watched the first half an hour with our jaws touching the floor at how bad it really was the rest of the time everyone else in the theatre just started talking to each other leaving or generally crying into their popcorn that they actually paid money they had [UNK] working to watch this feeble excuse for a film it must have looked like a great idea on paper but on film it looks like no one in the film has a clue what is going on crap acting crap costumes i can't get across how [UNK] this is to watch save yourself an hour a bit of your life\"],\n",
       " array([1, 0, 0]))"
      ]
     },
     "metadata": {},
     "execution_count": 9
    }
   ],
   "source": [
    "import torch\n",
    "from torch.utils.data import Dataset, DataLoader, random_split\n",
    "\n",
    "class TextDataset(Dataset):\n",
    "    \"\"\"\n",
    "    文本数据集类\n",
    "    \"\"\"\n",
    "    def __init__(self, sequences, tokenizer, labels=None):\n",
    "        \"\"\"\n",
    "        初始化文本数据集\n",
    "\n",
    "        参数:\n",
    "        - sequences: 编码后的序列\n",
    "        - tokenizer: 分词器实例\n",
    "        - labels: 标签（可选）\n",
    "        \"\"\"\n",
    "        # 将编码序列解码为文本\n",
    "        self.texts = tokenizer.decode(sequences)\n",
    "        self.tokenizer = tokenizer\n",
    "        self.labels = labels\n",
    "\n",
    "    def __len__(self):\n",
    "        \"\"\"\n",
    "        返回数据集大小\n",
    "        \"\"\"\n",
    "        return len(self.texts)\n",
    "\n",
    "    def __getitem__(self, idx):\n",
    "        \"\"\"\n",
    "        获取指定索引的样本\n",
    "\n",
    "        参数:\n",
    "        - idx: 索引\n",
    "\n",
    "        返回:\n",
    "        - 样本（文本和标签，如果有的话）\n",
    "        \"\"\"\n",
    "        if self.labels is not None:\n",
    "            return self.texts[idx], self.labels[idx]\n",
    "        return self.texts[idx]\n",
    "\n",
    "def collate_fn(batch, tokenizer, maxlen=500):\n",
    "    \"\"\"\n",
    "    自定义批处理函数，用于在加载数据时进行编码\n",
    "\n",
    "    参数:\n",
    "    - batch: 批次数据\n",
    "    - tokenizer: 分词器实例\n",
    "    - maxlen: 最大序列长度\n",
    "\n",
    "    返回:\n",
    "    - 编码后的序列和标签（如果有的话）\n",
    "    \"\"\"\n",
    "    if isinstance(batch[0], tuple):\n",
    "        # print(batch)\n",
    "        # 如果批次包含标签\n",
    "        # 获取文本和标签\n",
    "        text_list = [item[0].split() for item in batch]  #batch是128样本，每个样本类型是元组，第一个元素是文本，第二个元素是标签\n",
    "        label_list = [item[1] for item in batch]\n",
    "        # print(text_list)\n",
    "        # 编码文本\n",
    "        encoded = tokenizer.encode(text_list, maxlen=maxlen, padding='pre', add_start=False, add_end=True)\n",
    "        # 返回编码后的序列和标签\n",
    "        sequences = torch.tensor(encoded, dtype=torch.long)\n",
    "        labels = torch.tensor(label_list, dtype=torch.float).view(-1, 1)  # 将标签reshape为二维 [batch_size, 1]\n",
    "        return sequences, labels\n",
    "    else:\n",
    "        # 如果批次只有文本\n",
    "        # 获取文本\n",
    "        text_list = [item.split() for item in batch]\n",
    "        encoded = tokenizer.encode(text_list, maxlen=maxlen, padding='pre', add_start=False, add_end=True)\n",
    "        sequences = torch.tensor(encoded, dtype=torch.long)\n",
    "        return sequences\n",
    "\n",
    "# 示例：创建数据集和数据加载器\n",
    "# 假设我们有训练、验证和测试数据\n",
    "# 创建对应的数据集\n",
    "train_dataset = TextDataset(x_train, tokenizer, y_train)\n",
    "val_dataset = TextDataset(x_val, tokenizer, y_val)\n",
    "test_dataset = TextDataset(x_test, tokenizer, y_test)\n",
    "\n",
    "# 创建数据加载器\n",
    "batch_size = 128\n",
    "train_dataloader = DataLoader(\n",
    "    train_dataset,\n",
    "    batch_size=batch_size,\n",
    "    shuffle=True,\n",
    "    collate_fn=lambda batch: collate_fn(batch, tokenizer)\n",
    ")\n",
    "val_dataloader = DataLoader(\n",
    "    val_dataset,\n",
    "    batch_size=batch_size,\n",
    "    shuffle=False,\n",
    "    collate_fn=lambda batch: collate_fn(batch, tokenizer)\n",
    ")\n",
    "test_dataloader = DataLoader(\n",
    "    test_dataset,\n",
    "    batch_size=batch_size,\n",
    "    shuffle=False,\n",
    "    collate_fn=lambda batch: collate_fn(batch, tokenizer)\n",
    ")\n",
    "\n",
    "# 打印数据集和数据加载器信息\n",
    "print(f\"训练集大小: {len(train_dataset)}\")\n",
    "print(f\"验证集大小: {len(val_dataset)}\")\n",
    "print(f\"测试集大小: {len(test_dataset)}\")\n",
    "\n",
    "train_dataset[0:3]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c581e1ec",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:50.034502Z",
     "start_time": "2025-07-04T09:27:50.018224Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "c581e1ec",
    "outputId": "e8e291b0-c7d6-47a8-fbc1-54e35e9bad97"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "\n",
      "训练数据加载器示例:\n",
      "批次 1:\n",
      "序列形状: torch.Size([128, 500])\n",
      "标签形状: torch.Size([128, 1])\n"
     ]
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "tensor([[   0,    0,    0,  ...,   32,  187,    3],\n",
       "        [   0,    0,    0,  ...,    4,  153,    3],\n",
       "        [   0,    0,    0,  ...,  705,  797,    3],\n",
       "        ...,\n",
       "        [   0,    0,    0,  ...,    4,  704,    3],\n",
       "        [   0,    0,    0,  ...,   81,    8,    3],\n",
       "        [   0,    0,    0,  ..., 2963,  829,    3]])"
      ]
     },
     "metadata": {},
     "execution_count": 10
    }
   ],
   "source": [
    "# 示例：遍历训练数据加载器\n",
    "print(\"\\n训练数据加载器示例:\")\n",
    "for i, (batch_sequences, batch_labels) in enumerate(train_dataloader):\n",
    "    print(f\"批次 {i+1}:\")\n",
    "    print(f\"序列形状: {batch_sequences.shape}\")\n",
    "    print(f\"标签形状: {batch_labels.shape}\")\n",
    "    if i == 0:  # 只打印第一个批次\n",
    "        break\n",
    "batch_sequences"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fc9a057",
   "metadata": {
    "id": "3fc9a057"
   },
   "source": [
    "# 搭建模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "d445876c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:50.038185Z",
     "start_time": "2025-07-04T09:27:50.034502Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "d445876c",
    "outputId": "89ebc729-9a75-4420-90a0-4ddbaf346e2a"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "torch.Size([1, 64, 1])"
      ]
     },
     "metadata": {},
     "execution_count": 11
    }
   ],
   "source": [
    "from torch import nn\n",
    "import torch\n",
    "# 创建一个一维自适应平均池化层，将输入的最后一个维度自适应地压缩为1\n",
    "m = nn.AdaptiveAvgPool1d(1)  # 例如输入形状为[batch_size, embedding_dim, seq_len]，输出为[batch_size, embedding_dim, 1]\n",
    "input = torch.randn(1, 64, 8)\n",
    "output = m(input)\n",
    "output.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "9693b445",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:50.044500Z",
     "start_time": "2025-07-04T09:27:50.038185Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "9693b445",
    "outputId": "3422f9bf-52f9-4dfd-e46b-ad9c897176e9"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "模型结构:\n",
      "SentimentClassifier(\n",
      "  (embedding): Embedding(10000, 16)\n",
      "  (lstm): LSTM(16, 128, batch_first=True)\n",
      "  (fc1): Linear(in_features=128, out_features=128, bias=True)\n",
      "  (fc): Linear(in_features=128, out_features=1, bias=True)\n",
      "  (dropout): Dropout(p=0.3, inplace=False)\n",
      ")\n",
      "单层单向lstm模型参数数量: 251,393\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "\n",
    "class SentimentClassifier(nn.Module):\n",
    "    # 创建一个LSTM分类器,vocab_size为词表大小，embedding_dim为嵌入维度，hidden_dim为隐藏层维度，output_dim为输出维度，lstm_layers为lstm层数，bidirectional为是否双向，dropout_rate为dropout概率\n",
    "    def __init__(self, vocab_size, embedding_dim=16, hidden_dim=128, output_dim=1,\n",
    "                 lstm_layers=1, bidirectional=False, dropout_rate=0.3):\n",
    "        super().__init__()\n",
    "\n",
    "        # 嵌入层\n",
    "        self.embedding = nn.Embedding(vocab_size, embedding_dim)\n",
    "\n",
    "        # 设置lstm层\n",
    "        self.lstm = nn.LSTM(embedding_dim, hidden_dim,\n",
    "                         num_layers=lstm_layers, # 层数\n",
    "                         bidirectional=bidirectional, # 是否双向\n",
    "                         batch_first=True, # batch_first=True表示输入和输出的维度顺序为[batch_size, seq_len, embedding_dim]\n",
    "                         dropout=dropout_rate if lstm_layers > 1 else 0)\n",
    "\n",
    "        # 确定输出维度\n",
    "        fc_input_dim = hidden_dim * 2 if bidirectional else hidden_dim\n",
    "\n",
    "        # 增加一个fc层，输入是fc_input_dim，输出是hidden_dim\n",
    "        self.fc1 = nn.Linear(fc_input_dim, hidden_dim)\n",
    "\n",
    "        # 全连接层\n",
    "        self.fc = nn.Linear(hidden_dim, output_dim)\n",
    "\n",
    "        # Dropout层，防止过拟合\n",
    "        self.dropout = nn.Dropout(dropout_rate)\n",
    "\n",
    "    def forward(self, x):\n",
    "        # x形状: [batch_size, seq_len]\n",
    "\n",
    "        # 通过嵌入层\n",
    "        embedded = self.embedding(x)  # [batch_size, seq_len, embedding_dim]\n",
    "\n",
    "        # 通过lstm层 ， 输出是outputs和hidden，outputs的形状是[batch_size, seq_len, hidden_dim * num_directions]，\n",
    "        # hidden的形状是[num_layers * num_directions, batch_size, hidden_dim]\n",
    "        outputs, hidden = self.lstm(embedded)\n",
    "\n",
    "        # print(f'outputs.shape: {outputs.shape}')\n",
    "        # print(f'hidden.shape: {hidden.shape}')\n",
    "\n",
    "        # 取最后一个时间步的输出 (这也是为什么要设置padding_first=True的原因)\n",
    "        # 取LSTM所有时间步的输出outputs，形状为[batch_size, seq_len, hidden_dim * num_directions]\n",
    "        # 这里x = outputs[:, -1, :]表示取每个样本最后一个时间步的输出，形状为[batch_size, hidden_dim * num_directions]\n",
    "        # 这样做的原因是：对于序列分类任务，通常用最后一个时间步的隐藏状态来代表整个序列的特征\n",
    "        # 这个x将作为后续全连接层的输入，用于最终的分类\n",
    "        x = outputs[:, -1, :]\n",
    "\n",
    "\n",
    "        # 应用dropout，防止过拟合\n",
    "        x = self.dropout(x)\n",
    "        # 全连接层\n",
    "        x = self.fc1(x)\n",
    "        x = self.fc(x)\n",
    "\n",
    "        return x\n",
    "\n",
    "# 初始化模型\n",
    "model = SentimentClassifier(vocab_size, lstm_layers=1, bidirectional=False)\n",
    "print(f\"模型结构:\\n{model}\")\n",
    "\n",
    "# 打印模型参数数量\n",
    "def count_parameters(model):\n",
    "    return sum(p.numel() for p in model.parameters() if p.requires_grad)\n",
    "\n",
    "print(f\"单层单向lstm模型参数数量: {count_parameters(model):,}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "19962cc7",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T09:27:50.161541Z",
     "start_time": "2025-07-04T09:27:50.056152Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "19962cc7",
    "outputId": "36e2538c-b0b8-4d41-e51f-3066ee475649"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "使用设备: cuda\n",
      "输入形状: torch.Size([128, 500])\n",
      "输出形状: torch.Size([128, 1])\n"
     ]
    }
   ],
   "source": [
    "# 设置设备\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
    "print(f\"使用设备: {device}\")\n",
    "\n",
    "# 验证模型的前向计算\n",
    "# 从训练数据中获取一个批次的样本\n",
    "sample_batch, sample_labels = next(iter(train_dataloader))\n",
    "print(f\"输入形状: {sample_batch.shape}\")\n",
    "\n",
    "# 将模型移动到设备上\n",
    "model.to(device)\n",
    "# 将样本移动到设备上\n",
    "sample_batch = sample_batch.to(device)\n",
    "\n",
    "# 进行前向计算\n",
    "with torch.no_grad():\n",
    "    outputs = model(sample_batch)\n",
    "    print(f\"输出形状: {outputs.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f6b527a4",
   "metadata": {
    "id": "f6b527a4"
   },
   "source": [
    "# 训练，画图，评估"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "4f63a223",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T11:27:19.773515Z",
     "start_time": "2025-07-04T11:10:48.011324Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 240,
     "referenced_widgets": [
      "eb88fbedd2ea40dd83935d2a472893dd",
      "9a6068b34995404eb62dd1e9c0719df8",
      "4cae646755234b3c99b5c6fd24941cea",
      "f0ea9c2a7f41451588d7eca8d6ff8fea",
      "3b984f20f4f14d42bff5a65e5dfda254",
      "d7edc0daffc3418c9617229fc190b960",
      "31e2ab34e98d4ea6b8ca6a7c157fe63f",
      "54ffd1413f524d00bd4028e6ce795d92",
      "94ac6d6a3dd543cbab18829deb3c6da0",
      "7887cdc4bc2047f7ae30374f85d6d873",
      "0871713f587d4b6cae372a46b61164df"
     ]
    },
    "id": "4f63a223",
    "outputId": "d13b2567-420a-4cd1-d3dd-8816e71f19ae"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "模型结构:\n",
      "SentimentClassifier(\n",
      "  (embedding): Embedding(10000, 16)\n",
      "  (lstm): LSTM(16, 128, batch_first=True, bidirectional=True)\n",
      "  (fc1): Linear(in_features=256, out_features=128, bias=True)\n",
      "  (fc): Linear(in_features=128, out_features=1, bias=True)\n",
      "  (dropout): Dropout(p=0.3, inplace=False)\n",
      ")\n",
      "训练开始，共3920步\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/3920 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "eb88fbedd2ea40dd83935d2a472893dd"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "早停触发! 最佳验证准确率(如果是回归，这里是损失): 86.8800\n",
      "早停: 在3600 步\n"
     ]
    }
   ],
   "source": [
    "from my_deeplearning_train import train_two_classification_model, evaluate_two_classification_model,plot_learning_curves,EarlyStopping,ModelSaver\n",
    "\n",
    "model = SentimentClassifier(vocab_size, lstm_layers=1, bidirectional=True)\n",
    "print(f\"模型结构:\\n{model}\")\n",
    "\n",
    "# 定义损失函数和优化器\n",
    "criterion = nn.BCEWithLogitsLoss() #WithLogitsLoss代表的含义是：把输出结果通过sigmoid函数，然后计算损失\n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n",
    "# 将模型移动到设备上\n",
    "model = model.to(device)\n",
    "\n",
    "\n",
    "# 训练参数\n",
    "num_epochs = 20\n",
    "eval_step = 100\n",
    "\n",
    "# 训练模型\n",
    "# 创建早停和模型保存器\n",
    "early_stopping = EarlyStopping(patience=5, delta=0.001)\n",
    "model_saver = ModelSaver(save_dir='weights')\n",
    "\n",
    "model, record_dict = train_two_classification_model(\n",
    "    model=model,\n",
    "    train_loader=train_dataloader,\n",
    "    val_loader=val_dataloader,\n",
    "    criterion=criterion,\n",
    "    optimizer=optimizer,\n",
    "    device=device,\n",
    "    num_epochs=num_epochs,\n",
    "    eval_step=eval_step,\n",
    "    early_stopping=early_stopping,\n",
    "    model_saver=model_saver\n",
    ")\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "0fb25282",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T11:27:19.851460Z",
     "start_time": "2025-07-04T11:27:19.773515Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 465
    },
    "id": "0fb25282",
    "outputId": "571a8d19-dcc8-48d5-b193-66e805ec7c0e"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1000x500 with 2 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzoAAAHACAYAAABqJx3iAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA5M9JREFUeJzsnXd4W/X1h19N772dOHESx9mbEJJAIGRBQtibllU2oaUphdJfy94texYKLVD2LDQhEwIJWWQ4e3sl3nvbmr8/rq68ZFuSZcfjvM+jR1d3fiX7Svdzzzmfo7Hb7XYEQRAEQRAEQRD6ENqTPQBBEARBEARBEARfI0JHEARBEARBEIQ+hwgdQRAEQRAEQRD6HCJ0BEEQBEEQBEHoc4jQEQRBEARBEAShzyFCRxAEQRAEQRCEPocIHUEQBEEQBEEQ+hwidARBEARBEARB6HPoT/YA3MFms5Gbm0tISAgajeZkD0cQBKHfYLfbqaqqIjExEa1W7o2pyO+SIAjCycPd36ZeIXRyc3NJSko62cMQBEHotxw/fpyBAwee7GH0GOR3SRAE4eTT0W9TrxA6ISEhgPJmQkNDPd7ebDazatUq5s+fj8Fg8PXwBEEQ+iyVlZUkJSU5v4cFBfldEgRBOHm4+9vUK4SOmhYQGhrq9Q9KYGAgoaGh8oMiCILgBZKe1Rz5XRIEQTj5dPTbJAnXgiAIgiAIgiD0OUToCIIgCIIgCILQ5xChIwiCIAiCIAhCn6NX1OgIgtAzsdvtWCwWrFbryR6K4CU6nQ69Xi81OF1Ae+eH2WxGr9dTX18v508PRM4LQegbiNARBMErTCYTeXl51NbWnuyhCJ0kMDCQhIQEjEbjyR5Kn6Gj88NutxMfH8/x48flYrqHIueFIPR+ROgIguAxNpuNjIwMdDodiYmJGI1GuVjrhdjtdkwmE0VFRWRkZDB8+HBpCuoD3Dk/bDYb1dXVBAcHy2few5DzQhD6DiJ0BEHwGJPJhM1mIykpicDAwJM9HKETBAQEYDAYyMrKwmQy4e/vf7KH1Otx5/yw2WzOz1suonsecl4IQt9Avl0FQfAauUDrG8jfsWuQz7V3I38/Qej9yFksCIIgCIIgCEKfwyuh8+qrr5KcnIy/vz/Tpk1j69atba571llnodFoWj0WLVrk9aAFQRAEQRAEQRDaw2Oh88knn7B06VIefPBBduzYwYQJE1iwYAGFhYUu1//yyy/Jy8tzPvbu3YtOp+Oyyy7r9OAFQRBOJsnJybzwwgs+2de6devQaDSUl5f7ZH+CcLLx5fkhCILgDR4Lneeee46bb76ZG264gdGjR/PGG28QGBjIO++843L9yMhI4uPjnY/Vq1cTGBgoQkcQhJPCWWedxd133+2Tff3yyy/ccsstPtmXIPQE5PwQBKEv4ZHrmslkYvv27dx///3OeVqtlrlz57Jp0ya39vH2229z5ZVXEhQU1OY6DQ0NNDQ0OF9XVlYCSoM1s9nsyZCd2zV9FgShc5jNZux2OzabDZvNdrKH4zHq2NtaZrVa0es7/nqMiooC8MlnoO7jZHymNpsNu92O2WxGp9M1Wybfm0JTPDk/YmJiumFEgiAIbeOR0CkuLsZqtRIXF9dsflxcHAcPHuxw+61bt7J3717efvvtdtd78sknefjhh1vNX7VqVaesbFevXu31trk18E22lkVJNpKCvd6NIPQJ9Ho98fHxVFdXYzKZsNvt1JtPjuDxN2jd7uFzxx138OOPP/Ljjz/y0ksvAUrN4Z133smnn37K448/zv79+/nyyy8ZMGAA//d//8e2bduora0lNTWVBx54gLPOOsu5v/Hjx3P77bdz++23AxAREcGLL77IqlWr+P7770lISODRRx9l4cKFHY5NbSxZVVXldHv65ptvePLJJ0lPTycuLo5bbrmFJUuWOLf55z//yeuvv05OTg6hoaFMnz6dd999F4D//ve/PP3002RkZBAQEMD48eP54IMPXN5kMplM1NXV8dNPP2GxWFyOS+gcdrudOrPV+dpms1FnsqI3Wbrc3SvAoHPrHLn++uud58eLL74IwL/+9S9uuOEGli9fzl/+8hf27NnDqlWrSEpKYunSpWzevJmamhpGjRrFk08+ydy5c537S05O5u6773ZGiDQaDW+99RbLli1j5cqVDBgwgGeffZbzzz+/w7FZrVZuueUWvv/+e/Lz8xk0aBB33HEHv/vd75qt98477/Dss89y9OhRIiMjueSSS3jllVcAKC8v57777uPrr7+moqKClJQUnnrqKc477zx3P0pB6NdYrDb+76u9xIX6sXT+iJM9HLfo1j46b7/9NuPGjePUU09td73777+fpUuXOl9XVlaSlJTE/PnzCQ0N9fi45vI8Vv+8nXnzF2AwGDzeHuDX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mltRtcmzAxQdRGOzUG4PIo9I1ulncDZvN6avBYR3/k0IgtAuERERnHvuuXz44YfOC7nPP/+c6OhoZs+ejVarZcKECc71H330Ub766iu++eYblixZ0qljf/jhh9TX1/Pee+8RFKRcdL7yyissXryYp59+GoPBQEVFBeeddx7Dhg0DYNSoUc7ts7Oz+eMf/8jIkSMBGD58eKfGIwgt6e7z4+6773ZOJycn89hjj3Hbbbc5hc4zzzzDKaec4nwNMGbMGACqqqp48cUXeeWVV7juuusAGDZsGKeffrrH4xCErsBms7M5o4TJgyLwN+i69dhWm527P0mjoLKBYTFBPH7RuFamAnNGxbEqOZInlh3gk23H+ffGTN7dlAnA+RMTOz1mrVbDs5dPYNFLG8gsqeW+L3bz6tWTPTI38AUidFoSEg9DzoT0H2DP53Dmvc0WqxEdj13XHPU5B2yDAQ276uMhZiQUHVTS1ySqI/RmDIHKXeOTdWwPuOaaa7j55pt57bXX8PPz44MPPuDKK69Eq9VSXV3NQw89xLJly8jLy8NisVBXV0d2dnanh3ngwAEmTJjgFDkAM2fOxGazcejQIWbNmsX111/PggULmDdvHnPnzuXyyy8nIUHpSL106VJuuukm3n//febOnctll13mFERCL6DFOWKz2aisqiI0JASttouzyD04R7rz/FizZg1PPvkkBw8epLKyEovFQn19PbW1tQQGBpKWlsZll13mctsDBw7Q0NDgFGSC0NN4/cdj/G3lIZbMTuGeBSO69div/nCU9UeK8Tdoef1XU9ps+BkWYODpS8ezaHwC93+5h5zyOgAum+J92lpTwgONvHL1JC7/xyaW78nn3Y2ZXD9ziE/27S79vkbHJeMvV553f9oqt1mt0fHYdc1hLX3AroT38yvrYcxFyjJxXxN6OxqNkhpzMh4e3h1avHgxdrudZcuWcfz4cdavX88111wDwD333MNXX33FE088wfr160lLS2PcuHGYTB5GcL3kX//6F5s2bWLGjBl88sknpKamsnnzZgAeeugh9u3bx6JFi/j+++8ZPXo0X33lupZQ6IG4OkcMgT3uHOmu8yMzM5PzzjuP8ePH88UXX7B9+3ZeffVVAOf+AgLaLoRub5kgnGxsNjsfblFuAKw/6trcqqv4+Wgxz685DMBjF44jNS6kw21mpcaw4u4zuOvs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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "# 绘制学习曲线\n",
    "plot_learning_curves(record_dict,sample_step=100)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "55a18ae6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-04T11:27:30.240293Z",
     "start_time": "2025-07-04T11:27:19.852479Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "55a18ae6",
    "outputId": "50be2eb8-b59c-4703-916f-74214c72d840"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "测试集准确率: 86.59%, 测试集损失: 0.3346\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "# 在测试集上评估最终模型\n",
    "test_acc, test_loss = evaluate_two_classification_model(model, test_dataloader, device, criterion)\n",
    "print(f\"测试集准确率: {test_acc:.2f}%, 测试集损失: {test_loss:.4f}\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  },
  "colab": {
   "provenance": [],
   "gpuType": "T4"
  },
  "accelerator": "GPU",
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "eb88fbedd2ea40dd83935d2a472893dd": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_9a6068b34995404eb62dd1e9c0719df8",
       "IPY_MODEL_4cae646755234b3c99b5c6fd24941cea",
       "IPY_MODEL_f0ea9c2a7f41451588d7eca8d6ff8fea"
      ],
      "layout": "IPY_MODEL_3b984f20f4f14d42bff5a65e5dfda254"
     }
    },
    "9a6068b34995404eb62dd1e9c0719df8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d7edc0daffc3418c9617229fc190b960",
      "placeholder": "​",
      "style": "IPY_MODEL_31e2ab34e98d4ea6b8ca6a7c157fe63f",
      "value": " 92%"
     }
    },
    "4cae646755234b3c99b5c6fd24941cea": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "danger",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_54ffd1413f524d00bd4028e6ce795d92",
      "max": 3920,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_94ac6d6a3dd543cbab18829deb3c6da0",
      "value": 3600
     }
    },
    "f0ea9c2a7f41451588d7eca8d6ff8fea": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_7887cdc4bc2047f7ae30374f85d6d873",
      "placeholder": "​",
      "style": "IPY_MODEL_0871713f587d4b6cae372a46b61164df",
      "value": " 3600/3920 [04:29&lt;00:21, 14.93it/s, epoch=18, loss=0.1825, acc=92.97%, val_loss=0.4074, val_acc=85.47%]"
     }
    },
    "3b984f20f4f14d42bff5a65e5dfda254": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d7edc0daffc3418c9617229fc190b960": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "31e2ab34e98d4ea6b8ca6a7c157fe63f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "54ffd1413f524d00bd4028e6ce795d92": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "94ac6d6a3dd543cbab18829deb3c6da0": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "7887cdc4bc2047f7ae30374f85d6d873": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0871713f587d4b6cae372a46b61164df": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
